 #!/bin/bash
###############################################################################
# @用例ID: 20230528-211019-324373895
# @用例名称: lsscsi-test
# @用例级别: 3
# @用例标签:
# @用例类型: 功能
###############################################################################
[ -z "$TST_TS_TOPDIR" ] && {
    TST_TS_TOPDIR="$(realpath "$(dirname "$0")/..")"
    export TST_TS_TOPDIR
}
source "${TST_TS_TOPDIR}/tst_common/lib/common.sh" || exit 1
###############################################################################

g_tmpdir="$(mktemp -d)"

tc_setup() {
    msg "this is tc_setup"
    #预置条件：系统正常运行，且已安装lsscsi软件包
    assert_true yum install -y lsscsi
    return 0
}

do_test() {
    msg "this is do_test"

    # @测试步骤:1:运行 lsscsi 命令
    # @预期结果:1:成功显示系统中的 SCSI 设备信息
    assert_true_cont lsscsi

    # @测试步骤:2:使用 -v 选项运行 lsscsi 命令
    # @预期结果:2:成功显示详细的设备信息
    assert_true_cont lsscsi -v

    # @测试步骤:3:使用 -t 选项运行 lsscsi 命令
    # @预期结果:3:成功以树状结构显示设备层次关系
    assert_true_cont lsscsi -t

    # @测试步骤:4:使用 -g 选项运行 lsscsi 命令
    # @预期结果:4:成功显示通道和目标设备信息
    assert_true_cont lsscsi -g

    # @测试步骤:5:使用 -H 选项运行 lsscsi 命令
    # @预期结果:5:成功显示主机和适配器信息
    assert_true_cont lsscsi -H

    # @测试步骤:6:使用 -l 选项运行 lsscsi 命令
    # @预期结果:6:成功显示设备列表，并包含设备路径、类型、厂商信息等
    assert_true_cont lsscsi -l

    return 0
}

tc_teardown() {
    msg "this is tc_teardown"
    rm -rfv "$g_tmpdir" || return 1
    return 0
}

###############################################################################
tst_main "$@"
###############################################################################
